From Cppreference
[edit] Threads
Threads enable the program to execute across several processor cores.
|
|
|
| manages a separate thread (class)
|
Functions managing the current thread
|
|
|
|
| hints the implementation to reschedule execution of threads (function)
|
|
|
|
| returns the thread id of the current thread (function)
|
|
|
|
| stops the execution of the current thread for a specified time duration (function)
|
|
|
|
| stops the execution of the current thread until a specified time point (function)
|
[edit] Mutual exclusion
Mutual exclusion algorithms restrict access to a shared resource so that only one thread can access it at a time. This allows to avoid data races and to implement synchronization between threads.
|
|
|
| provides basic mutual exclusion facility (class)
|
|
|
|
| provides mutual exclusion facility which can be locked recursively by the same thread (class)
|
|
|
|
| provides mutual exclusion facility which implements locking with a timeout (class)
|
|
|
|
| provides mutual exclusion facility which can be locked recursively by the same thread and implements locking with a timeout (class)
|
Generic mutex management
|
|
|
|
| implements strictly scope-based mutex ownership wrapper (class template)
|
|
|
|
| implements movable mutex ownership wrapper (class template)
|
Generic locking algorithms
|
|
|
|
| locks specified mutexes/locks, returns false if at least one is unavailable (function template)
|
|
|
|
| locks specified mutexes/locks, blocks if at least one is unavailable (function template)
|
Call once
|
|
|
|
| helper object to ensure that call_once invokes the function only once (class)
|
|
|
|
| invokes a function only once even if called from multiple threads (function template)
|
[edit] Condition variables
|
|
|
| manages threads that wait on a mutex (class)
|
|
|
|
| manages threads that wait on some condition (class)
|
|
|
|
| (function)
|
[edit] Futures
|
|
|
| stores a value for asynchronous retrieval (class template)
|
|
|
|
| packages a function to store its return value for asynchronous retrieval (class template)
|
|
|
|
| waits for a value that is set asynchronously (class template)
|
|
|
|
| waits for a value that is set asynchronously. The internal state is shared among several objects (class template)
|
|
|
|
| provides a facility to launch a function in a new thread and acquire its return value asynchronously (function template)
|